package main

import (
	"fmt"
	"net"
	"os"
)

func checkError2(err error) {
	if err != nil {
		fmt.Println("Error: %s", err.Error())
		os.Exit(1)
	}
}
func recvUDPMsg(conn *net.UDPConn) {
	var buf [20]byte
	n, raddr, err := conn.ReadFromUDP(buf[0:])
	if err != nil {
		return
	}
	fmt.Println("msg is ", string(buf[0:n]))

	// WriteToUDP
	_, err = conn.WriteToUDP([]byte("nice to see u"), raddr)
	checkError2(err)
}
func main() {
	udpAddr, err := net.ResolveUDPAddr("udp", ":7777")
	checkError2(err)

	conn, err := net.ListenUDP("udp", udpAddr)
	defer conn.Close()

	// go recvUDPMsg(conn)
	for {
		recvUDPMsg(conn)
	}
}
